home *** CD-ROM | disk | FTP | other *** search
/ Aminet 45 / Aminet 45 (2001)(GTI - Schatztruhe)[!][Oct 2001].iso / Aminet / dev / c / vbcc.lha / vbcc / targets / m68k-amigaos / include / math.h < prev    next >
C/C++ Source or Header  |  2001-04-28  |  2KB  |  59 lines

  1. #pragma begin_header
  2. #ifndef __MATH_H
  3. #define __MATH_H 1
  4.  
  5. #define HUGE_VAL        1e500
  6.  
  7. #if defined(__M68881)||defined(__M68882)
  8. double sqrt(__reg("fp0") double)="\tfsqrt.x\tfp0";
  9. double fabs(__reg("fp0") double)="\tfabs.x\tfp0";
  10. double floor(__reg("fp0") double)="\tfmove.l\tfpcr,d1\n\tmoveq\t#32,d0\n\tor.l\td1,d0\n\tand.b\t#255-16,d0\n\tfmove.l\td0,fpcr\n\tfint.x\tfp0\n\tfmove.l\td1,fpcr";
  11. double ceil(__reg("fp0") double)="\tfmove.l\tfpcr,d1\n\tmoveq\t#48,d0\n\tor.l\td1,d0\n\tfmove.l\td0,fpcr\n\tfint.x\tfp0\n\tfmove.l\td1,fpcr";
  12. #else
  13. double sqrt(double);
  14. double fabs(double);
  15. double floor(double);
  16. double ceil(double);
  17. #endif
  18.  
  19. #if (defined(__M68881)||defined(__M68882)) && !defined(__M68040) && !defined(__M68060)
  20. double acos(__reg("fp0")double)="\tfacos.x\tfp0";
  21. double asin(__reg("fp0")double)="\tfasin.x\tfp0";
  22. double atan(__reg("fp0")double)="\tfatan.x\tfp0";
  23. double cos(__reg("fp0")double)="\tfcos.x\tfp0";
  24. double cosh(__reg("fp0")double)="\tfcosh.x\tfp0";
  25. double exp(__reg("fp0")double)="\tfetox.x\tfp0";
  26. double log(__reg("fp0")double)="\tflogn.x\tfp0";
  27. double log10(__reg("fp0")double)="\tflog10.x\tfp0";
  28. double modf(__reg("fp0")double,__reg("a0") double *)="\tfintrz.x\tfp0,fp1\n\tfmove.d\tfp1,(a0)\n\tfsub.x\tfp1,fp0";
  29. double pow(__reg("fp0")double,__reg("fp1") double)="\tflogn.x\tfp0\n\tfmul.x\tfp1,fp0\n\tfetox.x\tfp0";
  30. double sin(__reg("fp0")double)="\tfsin.x\tfp0";
  31. double sinh(__reg("fp0")double)="\tfsinh.x\tfp0";
  32. double tan(__reg("fp0")double)="\tftan.x\tfp0";
  33. double tanh(__reg("fp0")double)="\tftanh.x\tfp0";
  34. double fmod(__reg("fp0")double,__reg("fp1")double)="\tfmod.x\tfp1,fp0";
  35. #else
  36. double sin(double);
  37. double cos(double);
  38. double tan(double);
  39. double sinh(double);
  40. double cosh(double);
  41. double tanh(double);
  42. double asin(double);
  43. double acos(double);
  44. double atan(double);
  45. double exp(double);
  46. double log(double);
  47. double log10(double);
  48. double pow(double,double);
  49. double modf(double,double *);
  50. double fmod(double,double);
  51. #endif
  52.  
  53. double atan2(double,double);
  54. double ldexp(double,int);
  55. double frexp(double,int *);
  56.  
  57. #endif
  58. #pragma end_header
  59.